package com.zxy.ziems.server.alarm.service;

import com.zxy.btp.common.response.PageResult;
import com.zxy.ziems.server.alarm.pojo.dto.AlarmRuleAddDTO;
import com.zxy.ziems.server.alarm.pojo.entity.AlarmRuleEntity;
import com.zxy.ziems.server.alarm.pojo.param.AlarmTypePageParam;
import com.zxy.ziems.server.alarm.pojo.vo.AlarmRuleVO;

import java.util.List;
import java.util.Set;

/**
 * @Copyright (C),
 * @ClassName: AlarmRuleService
 * @Author: yanzhiwei
 * @Description:
 * @Date: 2024/4/9 16:22
 */
public interface AlarmRuleService {


    /**
     * 保存告警配置
     *
     * @param alarmRuleAddDTO
     */
    void saveAlarmRuleEntity(AlarmRuleAddDTO alarmRuleAddDTO);

    /**
     * 更新状态
     *
     * @param id
     * @param status
     */
    void saveAlarmRuleEntity(String id, Integer status);

    PageResult<AlarmRuleVO> pageListBy(AlarmTypePageParam param);

    boolean deleteById(String id);

    AlarmRuleEntity loadById(String ruleId);

    List<AlarmRuleEntity> listByIds(Set<String> collect);
}
